16 research outputs found

    Place and Object Recognition for Real-time Visual Mapping

    Get PDF
    Este trabajo aborda dos de las principales dificultades presentes en los sistemas actuales de localización y creación de mapas de forma simultánea (del inglés Simultaneous Localization And Mapping, SLAM): el reconocimiento de lugares ya visitados para cerrar bucles en la trajectoria y crear mapas precisos, y el reconocimiento de objetos para enriquecer los mapas con estructuras de alto nivel y mejorar la interación entre robots y personas. En SLAM visual, las características que se extraen de las imágenes de una secuencia de vídeo se van acumulando con el tiempo, haciendo más laboriosos dos de los aspectos de la detección de bucles: la eliminación de los bucles incorrectos que se detectan entre lugares que tienen una apariencia muy similar, y conseguir un tiempo de ejecución bajo y factible en trayectorias largas. En este trabajo proponemos una técnica basada en vocabularios visuales y en bolsas de palabras para detectar bucles de manera robusta y eficiente, centrándonos en dos ideas principales: 1) aprovechar el origen secuencial de las imágenes de vídeo, y 2) hacer que todo el proceso pueda funcionar a frecuencia de vídeo. Para beneficiarnos del origen secuencial de las imágenes, presentamos una métrica de similaridad normalizada para medir el parecido entre imágenes e incrementar la distintividad de las detecciones correctas. A su vez, agrupamos los emparejamientos de imágenes candidatas a ser bucle para evitar que éstas compitan cuando realmente fueron tomadas desde el mismo lugar. Finalmente, incorporamos una restricción temporal para comprobar la coherencia entre detecciones consecutivas. La eficiencia se logra utilizando índices inversos y directos y características binarias. Un índice inverso acelera la comparación entre imágenes de lugares, y un índice directo, el cálculo de correspondencias de puntos entre éstas. Por primera vez, en este trabajo se han utilizado características binarias para detectar bucles, dando lugar a una solución viable incluso hasta para decenas de miles de imágenes. Los bucles se verifican comprobando la coherencia de la geometría de las escenas emparejadas. Para ello utilizamos varios métodos robustos que funcionan tanto con una como con múltiples cámaras. Presentamos resultados competitivos y sin falsos positivos en distintas secuencias, con imágenes adquiridas tanto a alta como a baja frecuencia, con cámaras frontales y laterales, y utilizando el mismo vocabulario y la misma configuración. Con descriptores binarios, el sistema completo requiere 22 milisegundos por imagen en una secuencia de 26.300 imágenes, resultando un orden de magnitud más rápido que otras técnicas actuales. Se puede utilizar un algoritmo similar al de reconocimiento de lugares para resolver el reconocimiento de objetos en SLAM visual. Detectar objetos en este contexto es particularmente complicado debido a que las distintas ubicaciones, posiciones y tamaños en los que se puede ver un objeto en una imagen son potencialmente infinitos, por lo que suelen ser difíciles de distinguir. Además, esta complejidad se multiplica cuando la comparación ha de hacerse contra varios objetos 3D. Nuestro esfuerzo en este trabajo está orientado a: 1) construir el primer sistema de SLAM visual que puede colocar objectos 3D reales en el mapa, y 2) abordar los problemas de escalabilidad resultantes al tratar con múltiples objetos y vistas de éstos. En este trabajo, presentamos el primer sistema de SLAM monocular que reconoce objetos 3D, los inserta en el mapa y refina su posición en el espacio 3D a medida que el mapa se va construyendo, incluso cuando los objetos dejan de estar en el campo de visión de la cámara. Esto se logra en tiempo real con modelos de objetos compuestos por información tridimensional y múltiples imágenes representando varios puntos de vista del objeto. Después nos centramos en la escalabilidad de la etapa del reconocimiento de los objetos 3D. Presentamos una técnica rápida para segmentar imágenes en regiones de interés para detectar objetos pequeños o lejanos. Tras ello, proponemos sustituir el modelo de objetos de vistas independientes por un modelado con una única bolsa de palabras de características binarias asociadas a puntos 3D. Creamos también una base de datos que incorpora índices inversos y directos para aprovechar sus ventajas a la hora de recuperar rápidamente tanto objetos candidatos a ser detectados como correspondencias de puntos, tal y como hacían en el caso de la detección de bucles. Los resultados experimentales muestran que nuestro sistema funciona en tiempo real en un entorno de escritorio con cámara en mano y en una habitación con una cámara montada sobre un robot autónomo. Las mejoras en el proceso de reconocimiento obtienen resultados satisfactorios, sin detecciones erróneas y con un tiempo de ejecución medio de 28 milisegundos por imagen con una base de datos de 20 objetos 3D

    Real-Time Accurate Visual SLAM with Place Recognition

    Get PDF
    El problema de localización y construcción simultánea de mapas (del inglés Simultaneous Localization and Mapping, abreviado SLAM) consiste en localizar un sensor en un mapa que se construye en línea. La tecnología de SLAM hace posible la localización de un robot en un entorno desconocido para él, procesando la información de sus sensores de a bordo y por tanto sin depender de infraestructuras externas. Un mapa permite localizarse en todo momento sin acumular deriva, a diferencia de una odometría donde se integran movimientos incrementales. Este tipo de tecnología es crítica para la navegación de robots de servicio y vehículos autónomos, o para la localización del usuario en aplicaciones de realidad aumentada o virtual. La principal contribución de esta tesis es ORB-SLAM, un sistema de SLAM monocular basado en características que trabaja en tiempo real en ambientes pequeños y grandes, de interior y exterior. El sistema es robusto a elementos dinámicos en la escena, permite cerrar bucles y relocalizar la cámara incluso si el punto de vista ha cambiado significativamente, e incluye un método de inicialización completamente automático. ORB-SLAM es actualmente la solución más completa, precisa y fiable de SLAM monocular empleando una cámara como único sensor. El sistema, estando basado en características y ajuste de haces, ha demostrado una precisión y robustez sin precedentes en secuencias públicas estándar.Adicionalmente se ha extendido ORB-SLAM para reconstruir el entorno de forma semi-densa. Nuestra solución desacopla la reconstrucción semi-densa de la estimación de la trayectoria de la cámara, lo que resulta en un sistema que combina la precisión y robustez del SLAM basado en características con las reconstrucciones más completas de los métodos directos. Además se ha extendido la solución monocular para aprovechar la información de cámaras estéreo, RGB-D y sensores inerciales, obteniendo precisiones superiores a otras soluciones del estado del arte. Con el fin de contribuir a la comunidad científica, hemos hecho libre el código de una implementación de nuestra solución de SLAM para cámaras monoculares, estéreo y RGB-D, siendo la primera solución de código libre capaz de funcionar con estos tres tipos de cámara. Bibliografía:R. Mur-Artal and J. D. Tardós.Fast Relocalisation and Loop Closing in Keyframe-Based SLAM.IEEE International Conference on Robotics and Automation (ICRA). Hong Kong, China, June 2014.R. Mur-Artal and J. D. Tardós.ORB-SLAM: Tracking and Mapping Recognizable Features.RSS Workshop on Multi VIew Geometry in RObotics (MVIGRO). Berkeley, USA, July 2014. R. Mur-Artal and J. D. Tardós.Probabilistic Semi-Dense Mapping from Highly Accurate Feature-Based Monocular SLAM.Robotics: Science and Systems (RSS). Rome, Italy, July 2015.R. Mur-Artal, J. M. M. Montiel and J. D. Tardós.ORB-SLAM: A Versatile and Accurate Monocular SLAM System.IEEE Transactions on Robotics, vol. 31, no. 5, pp. 1147-1163, October 2015.(2015 IEEE Transactions on Robotics Best Paper Award).R. Mur-Artal, and J. D. Tardós.Visual-Inertial Monocular SLAM with Map Reuse.IEEE Robotics and Automation Letters, vol. 2, no. 2, pp. 796-803, April 2017. (to be presented at ICRA 17).R.Mur-Artal, and J. D. Tardós. ORB-SLAM2: an Open-Source SLAM System for Monocular, Stereo and RGB-D Cameras.ArXiv preprint arXiv:1610.06475, 2016. (under Review).<br /

    Precise and Robust Visual SLAM with Inertial Sensors and Deep Learning.

    Get PDF
    Dotar a los robots con el sentido de la percepción destaca como el componente más importante para conseguir máquinas completamente autónomas. Una vez que las máquinas sean capaces de percibir el mundo, podrán interactuar con él. A este respecto, la localización y la reconstrucción de mapas de manera simultánea, SLAM (por sus siglas en inglés) comprende todas las técnicas que permiten a los robots estimar su posición y reconstruir el mapa de su entorno al mismo tiempo, usando únicamente el conjunto de sensores a bordo. El SLAM constituye el elemento clave para la percepción de las máquinas, estando ya presente en diferentes tecnologías y aplicaciones como la conducción autónoma, la realidad virtual y aumentada o los robots de servicio. Incrementar la robustez del SLAM expandiría su uso y aplicación, haciendo las máquinas más seguras y requiriendo una menor intervención humana.En esta tesis hemos combinado sensores inerciales (IMU) y visuales para incrementar la robustez del SLAM ante movimientos rápidos, oclusiones breves o entornos con poca textura. Primero hemos propuesto dos técnicas rápidas para la inicialización del sensor inercial, con un bajo error de escala. Estas han permitido empezar a usar la IMU tan pronto como 2 segundos después de lanzar el sistema. Una de estas inicializaciones ha sido integrada en un nuevo sistema de SLAM visual inercial, acuñado como ORB-SLAM3, el cual representa la mayor contribución de esta tesis. Este es el sistema de SLAM visual-inercial de código abierto más completo hasta la fecha, que funciona con cámaras monoculares o estéreo, estenopeicas o de ojo de pez, y con capacidades multimapa. ORB-SLAM3 se basa en una formulación de Máximo a Posteriori, tanto en la inicialización como en el refinamiento y el ajuste de haces visual-inercial. También explota la asociación de datos en el corto, medio y largo plazo. Todo esto hace que ORB-SLAM3 sea el sistema SLAM visual-inercial más preciso, como así demuestran nuestros resultados en experimentos públicos.Además, hemos explorado la aplicación de técnicas de aprendizaje profundo para mejorar la robustez del SLAM. En este aspecto, primero hemos propuesto DynaSLAM II, un sistema SLAM estéreo para entornos dinámicos. Los objetos dinámicos son segmentados mediante una red neuronal, y sus puntos y medidas son incluidas eficientemente en la optimización de ajuste de haces. Esto permite estimar y hacer seguimiento de los objetos en movimiento, al mismo tiempo que se mejora la estimación de la trayectoria de la cámara. En segundo lugar, hemos desarrollado un SLAM monocular y directo basado en predicciones de profundidad a través de redes neuronales. Optimizamos de manera conjunta tanto los residuos de predicción de profundidad como los fotométricos de distintas vistas, lo que da lugar a un sistema monocular capaz de estimar la escala. No sufre el problema de deriva de escala, siendo más robusto y varias veces más preciso que los sistemas monoculares clásicos.<br /

    Localización y construcción de mapas con puntos en profundidad inversa y con cámaras gran angular en ORB-SLAM2

    Get PDF
    El problema de localización y mapeo simultáneos, más conocido por sus siglas en inglés SLAM, consiste en localizar un agente (por ejemplo, un robot, un dron, un coche autónomo, o unas gafas de realidad aumentada) dentro de un mapa generado gracias a información obtenida por una serie de sensores de a bordo. ORB-SLAM2 es un sistema de SLAM desarrollado por el grupo de Robótica, Percepción y Tiempo Real de la Universidad de Zaragoza, que utiliza cámaras como sensores. Como la mayoría de de sistemas de SLAM visual, representa los puntos del mapa en coordenadas Cartesianas y utiliza un modelo de cámara oscura (pinhole en inglés) para la toma de imágenes. En el presente trabajo se ha investigado el uso de una representación alternativa para los puntos del mapa de ORB-SLAM2, en el que se almacenan sus coordenadas angulares y la inversa de su profundidad con respecto de la primera cámara que los observó. Esta representación exhibe una serie de propiedades teóricas que resultan muy beneficiosas en sistemas de SLAM basados en el filtro de Kalman extendido. Sin embargo, nuestros resultados muestran que en el caso de ORB-SLAM2, que utiliza optimización no lineal, la representación en profundidad inversa aumenta el coste computacional sin mejoras significativas en la precisión. Por otro lado, se ha estudiado el modelo de cámaras con objetivos gran angular y ojo de pez y, modificando a fondo ORB-SLAM2, se ha desarrollado el primer sistema de SLAM visual capaz de trabajar con este tipo de cámaras, tanto en monocular como en estéreo. Los resultados obtenidos con unas gafas de realidad aumentada muestran que este tipo de cámaras, al cubrir un mayor campo de visión que las basadas en el modelo pinhole, permiten mapear regiones más amplias, mejorando la robustez del SLAM visual ante oclusiones

    Estimación de la escala en ORB-SLAM2 monocular mediante redes convolucionales profundas

    Get PDF
    La localización y mapeo simultáneos o SLAM consiste en construir un mapa del entorno recorrido por un agente móvil a la vez que el agente es capaz de localizarse a sí mismo dentro del mapa. El sistema ORB-SLAM2 monocular de la Universidad de Zaragoza utiliza la información de una única cámara para cumplir este objetivo. Sin embargo, las técnicas de SLAM visual monocular basadas puramente en geometría presentan limitaciones ya que la escala del entorno no es observable. En consecuencia, ORB-SLAM2 monocular obtiene mapas con una escala desconocida, y sufre de deriva de la escala a lo largo de la trayectoria, lo que da lugar a mapas deformados e inconsistentes.Por otro lado, resultados recientes demuestran que las redes neuronales convolucionales son capaces de estimar profundidad a partir de una única imagen. La red Monodepth2, al ser entrenada juntamente con secuencias monoculares y estéreo, es capaz de estimar para una imagen monocular, cuál sería la disparidad que obtendría un sistema estéreo virtual. Esa información sintética puede ser usada para obtener la profundidad real de la escena.El objetivo de este trabajo es integrar en ORB-SLAM2 las predicciones de profundidad proporcionadas en tiempo real por la red Monodepth2, acercándose a las prestaciones de un sistema de SLAM estéreo, a pesar de utilizar una única cámara monocular. Para ello, se ha partido de la red Monodepth2 pre-entrenada en secuencias urbanas del dataset KITTI, y se ha llevado a cabo un análisis en profundidad de su precisión. Esto ha permitido utilizar adecuadamente la disparidad estimada por la red neuronal, seleccionando las predicciones de profundidad de menor incertidumbre, que se integran en ORB-SLAM2 como observaciones estéreo virtuales, mientras que el resto se siguen utilizando como observaciones monoculares.El sistema se ha evaluado en secuencias de KITTI distintas de las utilizadas en el entrenamiento. Los resultados obtenidos demuestran que se estima la escala real del entorno con un error promedio del 3%, y se obtienen mapas más precisos que los de ORB-SLAM2 monocular, habiendo disminuido la deriva de la escala del 43% al 3%. Esto ha permitido reducir de 17,24 m a 6,70 m el error promedio de las trayectorias construidas por el sistema.<br /

    Redes neuronales profundas para mejorar la robustez de ORB-SLAM2

    Get PDF
    Los sistemas de SLAM (Simultaneous Localization And Mapping) permiten la generación de unmapa sobre un entorno desconocido mientras se calcula la localización del agente en ese mismo espacio. El sistema ORB-SLAM2, desarrollado por la Universidad de Zaragoza, permite la generación de estos mapas utilizando cámaras como únicos sensores. Para ello, el sistema se basa en una extracción exhaustiva de puntos de interés ORB que posteriormente, y mediante su emparejamiento entre distintas imágenes, le servirán para conocer el desplazamiento del agente. Sin embargo, la utilización del extractor ORB para este propósito implica que no se utiliza ningún conocimiento empírico del entorno en el que se mueve el agente, resultando en que no todos los puntos extraídos son idóneos para el sistema.Este trabajo aprovecha los grandes avances en el aprendizaje profundo para superar las limitaciones del sistema original añadiendo un componente de inteligencia mediante el aprendizaje con redes neuronales. Con este objetivo hemos intentado, en primer lugar, añadir este aprendizaje como una capa por encima del extractor ORB para predecir la robustez de los puntos de interés a partir de la localización del punto en la imagen, su descriptor y los niveles de gris de la región donde aparece el punto. El resultado obtenido es negativo, lo que nos permite concluir que la falta de robustez de los puntos ORB depende de factores aleatorios que no es posible aprender.Con esta conclusión se ha decidido en segundo lugar sustituir completamente tanto la extracción como el emparejamiento de los puntos en el sistema, implementando de nuevo uno de los principales módulos de ORB-SLAM2. En este nuevo sistema creado, una red neuronal marca las zonas de interés de una imagen, y un nuevo sistema de seguimiento se encarga de rastrearlas entre distintos fotogramas. Estas mejoras consiguen que el porcentaje de puntos rastreados correctamente por el sistema cambie drásticamente del 3% al 56%.<br /

    Sistemas de localización y construcción de mapas de alta precisión para realidad virtual y aumentada

    Get PDF
    La técnica de localización y mapeado simultáneos, conocida por sus siglas en inglés SLAM, permite la localización libre de deriva de un robot en un entorno desconocido mediante el procesamiento de la información de sensores de a bordo, y sin la utilización de una infraestructura externa como puede ser un sistema de posicionamiento global (GPS). ORB-SLAM es el nombre del sistema de localización y construcción de mapas desarrollado por el grupo de Robótica, Percepción y Tiempo Real de la Universidad de Zaragoza que es capaz de calcular los movimientos de una cámara con unos 3 a 5 centímetros de error. Este sistema funciona con sensores de visión a bordo. En sus dos versiones de desarrollo, ORB-SLAM soporta tres tipos de cámara diferentes: cámaras monoculares, estereoscópicas y RGB-D. Durante la presente investigación, se ha añadido el soporte a cámaras con objetivo gran angular, las cuales permiten la visualización de una mayor porción de la escena. Los puntos ORB con los que trabaja este sistema se extraen con un detector de esquinas tipo FAST. Tal hecho supone que el sistema no proporciona un rendimiento deseable en entornos con ausencia de esquinas, como puede ser el pasillo de un edificio. Para solucionar esta imprecisión del sistema, durante el presente trabajo se ha desarrollado una nueva feature denominada edgelet que representa a los puntos de contorno de una escena, más comúnmente presentes en todo tipo de escenarios. Se ha demostrado además que la extracción de los edgelets de una imagen es un proceso rápido en comparación con la extracción de otros puntos de interés de renombre. Se ha ideado un descriptor que permite un excelente proceso de emparejamiento y seguimiento de estas features. Si bien, estas innovaciones requieren un trabajo futuro de profundización para adaptarlas perfectamente en el contexto de SLAM. Se ha instalado y calibrado un sistema de captura de movimiento OptiTrack en el laboratorio 1.07 del edificio Ada Byron de la Universidad de Zaragoza, con el que se ha capturado una secuencia de vídeo, conociendo en todo momento con una precisión sub-milimétrica la pose de la cámara. Se ha desarrollado una demo de realidad aumentada, comparando la experiencia de usuario si se mantiene la localización de la cámara obtenida con un sistema de captura de movimiento, o si se calcula con el sistema ORB-SLAM. Este último consigue una mejor experiencia de usuario y sensación de realismo

    Seguimiento robusto de características visuales para secuencias de imagen médica en ORB-SLAM2

    Get PDF
    El problema de localización y mapeo simultáneos, más conocido por sus siglas en inglés SLAM, consiste en localizar un agente (por ejemplo, un endoscopio en una intervención quirúrgica) dentro de un mapa generado gracias a información obtenida por una serie de sensores de a bordo. ORB-SLAM2 es un sistema de SLAM desarrollado por el grupo de Robótica, Percepción y Tiempo Real de la Universidad de Zaragoza, que utiliza cámaras como sensores. Se trata de un sistema de SLAM indirecto, por lo que basa su funcionamiento en la extracción de características visuales para el seguimiento de la cámara y triangulación de puntos para el mapa. Para ello, utiliza puntos FAST con descriptores ORB para realizar los emparejamientos entre las características visuales extraídas.En el presente trabajo se ha investigado el uso de un método alternativo para realizar el emparejamiento de características visuales basado en el uso del flujo óptico mediante el método de Lucas-Kanade. Para ello, se han desarrollado una serie de mejoras al método para dotarle de invarianza a la iluminación y rotación, obteniendo un método más preciso y robusto que el método básico, a cambio de ser computacionalmente más costoso. Para reducir el coste, se ha desarrollado el uso de patrones de píxeles, resultando en un método más eficiente a la vez que más preciso y robusto que las implementaciones estándar.El objetivo final del proyecto es integrar el método de flujo óptico desarrollado en ORB-SLAM2 para poder procesar secuencias endoscópicas obtenidas de cirugías mínimamente invasivas. Éstas suponen un gran desafío debido a condiciones de iluminación altamente cambiantes, baja repetibilidad de las texturas y superficies deformables. Para las pruebas se ha hecho uso secundario de secuencias obtenidas en intervenciones reales de personas, donde el cirujano no sabía que serían utilizadas por un sistema SLAM, ni se modificaron las herramientas ni procedimientos de la intervención. Los resultados obtenidos demuestran que la técnica de flujo óptico desarrollada mejora la calidad de la inicialización del mapa, y los puntos seguidos y triangulados, obteniendo una nueva versión de ORB-SLAM2 que es capaz de procesar de forma efectiva secuencias endoscópicas.<br /

    Reconstrucción 3D del entorno utilizando ORB-SLAM2 sobre un dispositivo Project Tango

    Get PDF
    El proyecto realizado consiste en el desarrollo de una aplicación para el sistema operativo Android que permita la obtención de un modelo 3D del entorno utilizando técnicas de visión por computador. El dispositivo objetivo sobre el que se ha desarrollado la aplicación es una tableta Project Tango de Google. La peculiaridad de este dispositivo es que cuenta con una cámara RGB-D que permite obtener información de color y de profundidad. Para poder crear la reconstrucción es necesario en primer lugar poder localizarse en el entorno. Para ello se ha utilizado la librería ORB-SLAM2 desarrollada en la universidad de Zaragoza, que permite construir un mapa del entorno y localizarse en el mismo de forma simultanea. La librería esta pensada para funcionar en un PC convencional, por lo que se ha tenido que realizar el portado a Android y el desarrollo de un nuevo visualizador gráfico. A continuación se desarrolló la aplicación de reconstrucción 3D, que utiliza las poses de la cámara calculadas por ORB-SLAM2 y las imágenes RGB-D para construir incrementalmente un modelo 3D denso del entorno. Estas tareas requieren una gran capacidad de cálculo para funcionar en tiempo real. Al estar trabajando en un dispositivo móvil con capacidad de cálculo muy inferior a un PC convencional el rendimiento inicial de la aplicación no era el adecuado, por lo que se ha realizado un estudio del tiempo empleado por las funciones principales de la librería con el objetivo de encontrar los cuellos de botella y optimizarlos. Tras localizar las zonas más exigentes se han realizado optimizaciones basadas en la arquitectura de la CPU de la tableta

    Localización del usuario en aplicaciones de Realidad Virtual mediante ORB-SLAM2

    Get PDF
    ORB-SLAM2 se trata de una librería desarrollada en la Universidad de Zaragoza, que permite la localización en un entorno y el mapeo de éste de manera simultánea. Esta librería emplea únicamente una cámara para poder realizar ambas tareas, consiguiendo un error en el cálculo de la trayectoria de la cámara dentro de una habitación de unos 3 centímetros. En este proyecto se ha investigado el uso de esta librería como herramienta para la localización de usuarios en aplicaciones de realidad virtual. Además, se ha integrado este software de manera nativa con el motor de videojuegos Unity, basándose el diseño de la integración en el patrón Facade. Dado que es importante reducir cualquier tipo de latencia en aplicaciones de realidad virtual, con el fin de evitar posibles mareos en los usuarios, se ha realizado un análisis temporal de la librería, centrándose en las funciones cuyo coste temporal era mayor para optimizarlas. Tras el estudio y análisis de diferentes alternativas para la optimización, se ha obtenido una reducción del 45% en el coste de procesamiento medio de una imagen, lográndose una reducción temporal del 74% en la operación más pesada. Con ésto se ha pasado de procesar 20,4 imágenes por segundo a 37. Además, se ha empleado la instalación de un sistema de captura de movimiento OptiTrack, disponible en el laboratorio 1.07, para realizar una comparativa de prestaciones frente a ORB-SLAM2. Para facilitar esta tarea se ha desarrollado una demo de realidad virtual que ha permitido analizar ambas alternativas, obteniendo que ORB-SLAM2 es una solución válida para la mayoría de usos relacionados con la realidad virtual
    corecore